import axios from 'axios'
import store from '../store';

const http=function(method,url,params){
  let token=''
  if(!/\/token$/img.test(url)){//判断url中是否带token
    token=store.state.token
  }
  return axios[method](url,{
    params:params,
    headers:{'token':token}
  }).then(res=>{
    if(res.data.code==400||res.data.code==401){//token失效——续订、重新登录
      axios.get('api/common/token').then(res=>{
        if(res.data.code==0){
          this.$store.commit('setToken',res.data.data.token)//续订token
        }else{
          throw 'token请求失败'
        }        
      }).catch(error=>{
        return error
      })
    }else if(res.data.code==0){    
      return res.data.data
    }
  }).catch(error=>{
    return error
  }) 
}

export default http
